This invention is related to a control channel of a wireless telecommunications system, and more particularly to the scheduling of messages on the control channel.
The radio spectrum assigned to a wireless telecommunications system is divided into radio channels. The radio channels are typically grouped into multiple traffic and control channels. The traffic channels are used for transmission of voice and user data information between a base station and mobile stations. The control channels are used for transmission of broadcast messages that convey system information, control messages, pages, and short user data messages between the base station and the mobile stations. Pages are messages that notify a mobile station that a base station needs to send further instructions to the mobile station. Pages include voice pages, notification of short messages, and message waiting messages.
The control channel""s pages wake up a mobile station when the mobile station is in sleep mode. Typically, to conserve power, a mobile station operates in a sleep mode, where most of the mobile station""s systems are in either off or operating in a power conservation mode. The mobile station wakes up, i.e. exits from sleep mode, for a predetermined short period of time to monitor the control channel to determine whether it needs to remain awake or whether it can return to the sleep mode. If a mobile station receives a page from the base station during the predermined time period, or if there is local action that requires the mobile station to wake up, the mobile station turns on some or all of the internal systems that were off during sleep mode.
The control channel also includes non-pages, such as acknowledgements including mobile station registration acknowledgements, and control messages that are used to set up a call including channel assignments. Additionally, depending on the system the control channel may also include other messages. Typically, the organization of the control channel and the information transmitted on the control channel is dependent on the type of air interface used.
Referring to FIG. 1A, for example, in a typical system using the North American Time Division Multiple Access (TDMA) system the radio spectrum is divided into 30 kHz radio channels 5. Each radio channel 5 is divided into time slots having a duration of 6.67 milliseconds (ms). Three time slots comprise a TDMA Block and two consecutive TDMA Blocks or six time slots comprise a frame. As shown in FIG. 1A, every third time slot is used to create communication channel 10. A communication channel can be either a control channel or a traffic channel. All time slots 1 and 4 are associated with one communication channel. All time slots 2 and 5 are associated with another communication channel, and all time slots 3 and 6 are associated with a third communication channel. When the control channel is used for sending information from the base station to the mobile station it is a downlink control channel, and when the control channel is used for sending information from the mobile station to the base station it is an uplink control channel. In a downlink control channel, 32 time slots comprise superframe 11 having a duration of 0.64 seconds, and as shown in FIG. 1B, two such superframes 11, 14 comprise hyperframe 12 having a duration of 1.28 seconds. The first superframe in a hyperframe is referred to as the primary superframe (primary superframe 11) and the second superframe is referred to as the secondary superframe (secondary superframe 14). Each time slot has a time slot number that identifies the time slot""s position in the superframe. Each hyperframe has a hyperframe number that identifies the position of the hyperframe in a cyclic repetition of hyperframes, which is typically 12 hyperframes.
In downlink control channel 10, several of the time slots in each superframe are reserved for broadcasting. Broadcasting is the transmittal of generic system related information. The remaining time slots are used for all of the other messages carried by the control channel. As discussed above, in order to conserve power a mobile station only monitors the control channel during one assigned time slot and remains in sleep mode during the rest of the time slots. The mobile station is assigned to a particular time slot based on the mobile station""s mobile identification number (MIN). In North American TDMA the MIN is the mobile station""s area code and phone number. A hashing algorithm is used to determine which time slot is assigned to a particular MIN. A hashing algorithm is a function or table that pseudo-randomly assigns an output, such as a particular time slot, based on an input, such as the MIN.
Monitoring the control channel during one assigned time slot and remaining in sleep mode during the rest of the time slots results in the mobile station waking up for only one time slot in every superframe to check for pages such as voice pages or R-DATA SPACH notifications. A voice page is a brief page that informs the mobile station that there is a call to the mobile station, and an R-DATA SPACH notification is a brief message that informs the mobile station that there is a short message or SMS for the mobile station. If a mobile station receives a page, such as a voice page or a R-DATA SPACH notification, then the mobile station starts monitoring all of the time slots of the control channel to find further information, which can be in any time slot except the ones reserved for broadcast messages. In the case of receiving a voice page, the mobile station is waiting to receive a channel assignment in order to know what traffic channel to switch to to begin the voice call. In the case of receiving an R-DATA SPACH notification, the mobile station is waiting to receive a short message. If the mobile does not receive the further information within a certain period of time, for example 10 to 15 seconds, the mobile station goes back into sleep mode.
Pages are transmitted in the corresponding time slots of both superframes of a particular hyperframe. Referring to FIG. 1B, pages are transmitted once in a time slot of the first, or primary superframe 11, and a second time in the corresponding time slot of the second, or secondary superframe 14 of the same hyperframe 12. Non-pages are transmitted only once, and each message may require one or several time slots of the superframe. For example, if a channel assignment is transmitted in time slots 7 and 9 of primary superframe 11 of hyperframe 12, a different non-page can be transmitted in time slots 7 and 9 of secondary superframe 14. Typically, the priorities of pages are higher than that of the other messages, with voice pages having the highest priority. The priority of messages is typically fixed when the wireless communication system is designed and is based on the messages"" characteristics, such as the messages"" revenue generation potential, whether the message is assigned to a particular time slot (such as a voice page for a particular mobile station), and the timeout sensitivity of the message. A message""s timeout sensitivity is determined by how quickly the message is dropped because the message had to wait to be transmitted for a longer time than allowed by the system for this type of message. A timed out message is one that had to wait longer than the time allowed by the system.
A mobile station registers with the wireless communication system using the uplink control channel. The base station that received the mobile station""s registration message over the uplink control channel is identified as the base station having the mobile station within its cell. The wireless system may initially attempt to send pages to the mobile station using only the base station where the mobile last registered. If the mobile station is still in the cell where it last registered, the mobile station will receive pages. However, in most cases the mobile station is no longer in the cell where it last registered and the system needs to send the pages to other cells to try to contact the mobile station. Depending on the system, this can include only cells in the vicinity of where the mobile station last registered or a larger area, such as the state where the mobile station last registered, or the country where the mobile station last registered. As can be seen, this results in a very large number of voice pages, most of which have no possibility of reaching their intended mobile stations. However, since these voice pages have the highest priority they still take priority over other messages notwithstanding that most of the voice pages will not be received by the intended mobile station.
A problem with this system is that when many mobile stations are being voice paged, it is possible for the voice pages to fill all of the time slots in a particular cell and prevent the other messages from getting through. Therefore, calls placed to any mobile station located in a cell that is flooded with voice pages are never set up because even though the mobile station receives the voice page, the mobile station cannot receive a channel assignment that directs it to a particular traffic channel since all of the time slots are occupied by the higher priority voice pages. Furthermore, no short messages sent at this time are able to reach mobile stations in this cell because all of the time slots are occupied by voice pages. Table 1 is a simulation showing the blocked messages and timed out messages for a control channel based on voice page arrival rate given as a percentage of the control channel""s voice page capacity in a system where each control channel has 300 buffers. The buffers are used for storing messages that cannot be transmitted immediately when they are received. This means that any message that arrives in excess of the 300 that can be stored in the buffers is discarded, i.e. it is a blocked message. The number of blocked calls is zero until the number of buffers used reaches 300. The number of timed out messages also increases as the percentage of the control channel""s voice page capacity is filled.
Giving other pages higher priority than voice pages poses the same problem as encountered with giving voice pages highest priority. If R-DATA SPACH notifications are given higher priority than voice pages, then R-DATA SPACH notifications, like voice pages can fill all the time slots in a particular cell and prevent voice pages and other messages from getting through, causing the same problem as described above.
If other messages, such as channel assignments, are given highest priority it poses a different problem. The voice pages and R-DATA SPACH notifications for a particular mobile station can only be transmitted in that mobile station""s preassigned time slot. The other messages can be transmitted in any time slot after the mobile has received the page. If the other messages have higher priority, a particular mobile station may not be able to receive calls or short messages even though there are many empty time slots. For example, if the first 14 time slots of a hyperframe are full, so that the first available time slot for a channel assignment is time slot 15, and this situation repeats for several hyperframes, then if mobile station X monitors time slot 15 for its voice pages and R-DATA SPACH notifications and there is a voice page for mobile station X, this voice page may have to wait longer than the time period a voice page is allowed to wait without being transmitted before time slot 15 becomes available. Therefore this voice page will never be transmitted and a call will not go through, even though all the time slots from 16 to 31 may be empty and the channel assignment could have been transmitted in one of those later time slots.
Another problem with this system is that many of the time slots are only partially full. Typically, a message arrives at the base station and is put into a queue, the messages assigned to a particular time slot are queued separately based on the type of message and on the time slot. For example a voice page is put into voice page queue for a particular time slot. The messages that are not assigned to a time slot are put into a queue for those messages, for example a channel assignment message is put into a channel assignment queue. The messages are then taken from the queue and scheduled into messages that are transmitted to the mobile station, known in the industry as airlink messages. The period during which the arrived messages are packaged into the airlink messages for a particular time slot is the time slot construction period. Some arrived messages can be packaged such that several of them fit into an airlink message that fits into one time slot, these messages are packable messages. Voice pages and R-DATA notifications are packable messages. Other arrived messages cannot be packaged so that more than one such message fits into a time slot, and the message may require more than one time slot. For example, a channel assignment typically requires two time slots. These messages are non-packable messages. Message waiting messages and channel assignments are non-packable messages.
There are 109 bits in a time slot. Each time slot has a header that describes what type of message is in the time slot. Voice pages have 7 bit headers and the remaining 102 bits are used to identify the mobile stations being voice paged by their MIN. In North America, currently, a MIN has a three digit area code, a three digit sub code, and a four digit line code, which can be represented by 34 bits. Thus, there is room for three MINs plus the 7 bit header in the 109 bits. Therefore, up to three voice pages can be scheduled to be transmitted in the time slot. Some voice pages that use a mobile identifier that can be represented by less bits than a MIN, such as a temporary mobile station identifier, which is an alias that can be temporarily assigned to the mobile station when it registers with a base station. Using these voice pages, there is room for more than three of the mobile identifiers in the time slot, and therefore more of these voice pages can be scheduled and transmitted in an airlink message. R-DATA SPACH notifications have a 14 bit header, which leaves room for two MINs in the 109 bits of the time slot. Therefore, up to two R-DATA SPACH notifications can be scheduled to be transmitted in the time slot.
A packed airlink message is generated when there are enough of one type of packable messages for a particular time slot such that another packable message of the same type would not fit into the time slot. Therefore, for voice pages that use the MIN as the mobile identifier, three voice pages for the same time slot generate a packed voice page, and two R-DATA SPACH notifications for the same time slot generate a packed R-DATA SPACH notification. An unpacked airlink message contains less packable messages than a packed airlink message.
As explained, a problem with the current system is that a cell may be filled with unpacked pages, which will prevent other messages from getting through yet not utilizing the time slots to capacity.
The invention solves the above problems by providing a scheduling method that selects one of a plurality of priority schemes for scheduling messages for a time slot of a control channel based on at least one of a plurality of characteristics of the state of the control channel. The messages for the one set of time slots are then scheduled based on the selected priority scheme. The state of the control channel is all the information regarding what has arrived, what is queued, and what has been transmitted. This includes the status of the queues, the messages awaiting transmission, along with their type and the time they have been waiting, the sequence of past transmissions, as well as other information. Some of the characteristics of the state of the control channel include the hyperframe number of the one set of time slots, the number of packable messages in one of the packable message queues for the time slot, and whether there are packable messages in any of the packable message queues for the time slot that have been in the packable message queues for the time slot since at least the end of the time slot construction period of a corresponding time slot of a previous set of cyclically repeating sets of time slots. For example in one embodiment, in a control channel of a TDMA system where the hyperframe number is the characteristic used to select the priority scheme, a priority scheme is selected that assigns a voice page highest priority when the hyperframe number is an even number, and that assigns an R-DATA SPACH notification highest priority when the hyperframe number is an odd number.
In another embodiment of the invention, if there is a packed airlink message, the packed airlink message is scheduled in the time slot. A packed airlink message contains the maximum number of one type of messages as will fit into a time slot. If there are no packed airlink messages, then the method dynamically alters the priority of messages based on whether there is a packable message in any of the packable message queues since at least the end of the time slot construction period of a corresponding time slot of a previous set of time slots. If there are no such messages and there is a non-packable message, the non-packable message is scheduled in the time slot, although if there are no non-packable messages and there is a unpacked airlink message, the unpacked airlink message is scheduled in the time slot. However, if there is a packable messages in any of the packable message queues since at least the end of the time slot construction period of the corresponding time slot of the previous set of time slots, the unpacked airlink message is scheduled in the time slot. Dynamically altering the priority of the messages significantly reduces both the number of messages that are blocked and the number of messages that are timed out.